#include <DHT.h>

// 定义 DHT 传感器类型和引脚
#define DHTPIN 2
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  // 初始化串口通信
  Serial.begin(9600);
  Serial.println("DHT 传感器测试开始");

  // 初始化 DHT 传感器
  dht.begin();
}

void loop() {
  // 延迟 2 秒，因为 DHT 传感器采样间隔至少为 2 秒
  delay(5000);

  // 读取湿度和温度
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  // 检查读取是否成功
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("读取 DHT 传感器数据失败，请检查连接！");
    return;
  }

  // 输出湿度和温度到串口监视器
  Serial.print("湿度: ");
  Serial.print(humidity);
  Serial.print(" %\t");
  Serial.print("温度: ");
  Serial.print(temperature);
  Serial.println(" °C");
}